﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.IO;
using System.Xml.Linq;

namespace ThreeByte.ActiveDeck.Web
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IActiveDeckDebugService" in both code and config file together.
    [ServiceContract]
    public interface IActiveDeckDebugService
    {
       
        [OperationContract, WebGet(UriTemplate = "Presentation/{presentation}")]
        Stream GetPresentation(string presentation);

        [OperationContract, WebGet(UriTemplate = "Presentation/{presentation}/{resource}")]
        Stream GetResource(string presentation, string resource);

        [OperationContract, WebGet(UriTemplate = "PresentationState/{presentation}")]
        XElement GetPresentationState(string presentation);

        [OperationContract, WebGet(UriTemplate = "UserData/{presentation}/{section}/{page=null}")]
        XElement GetUserData(string presentation, string section, string page);

        [OperationContract, WebGet(UriTemplate = "Test")]
        XElement Test();

        //[OperationContract(Name="GetUserDataSection1"), WebGet(UriTemplate = "UserData/{presentation}/{section}")]
        //XElement GetUserData(string presentation, string section);

    }

}
